//数组中有一个数字出现的次数超过数组长度的一半，请找出这个数字。
//你可以假设数组是非空的，并且给定的数组总是存在多数元素。
//
//示例1:
//输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]
//输出: 2


package main

import (
	"fmt"
)

func majorityElement(nums []int) int {
	total := 0
	total = len(nums)
	index := 0
	data := make(map[int]int)
	res:=0
	count:=0
	for i := 0; i < total; i++ {
		if nums[i] == nums[index] {
				count++
				index++
			}
		data[nums[i]] += count
		count=0
	}
	fmt.Println(data)
	for key,value :=range data{
		if float64(value) > float64(total)/2{
			res=key
		}
	}
	return res
}

func main() {
	res := majorityElement([]int{1,2,3,2,2,2,5,4,2})
	fmt.Println(res)
}
